home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 4 / Apprentice-Release4.iso / Source Code / Libraries / ABox 1.9.5 / Header Files / ABUEnvQuickTime.h < prev    next >
Encoding:
C/C++ Source or Header  |  1995-10-26  |  3.7 KB  |  148 lines  |  [TEXT/MMCC]

  1. /*    
  2.     Copyright © 1991-1995 by TopSoft Inc.  All rights reserved.
  3.  
  4.     You may distribute this file under the terms of the TopSoft
  5.     Artistic License, accompanying this package.
  6.     
  7.     This file was developed by George (ty) Tempel in connection with TopSoft, Inc..
  8.     See the Modification History for more details.
  9.  
  10. Product
  11.     About Box
  12.  
  13. FILE
  14.     ABUEnvQuickTime.h
  15.  
  16. NAME
  17.     ABUEnvQuickTime.h, part of the ABox project source code,
  18.     a utility class, mixed into other classes, responsible for 
  19.     handling the AboutBox quicktime environment stuff.
  20.  
  21. DESCRIPTION
  22.     This file contains defines for the about box modules.
  23.     
  24. DEVELOPED BY
  25.     George (ty) Tempel                ttempel@monmouth.com
  26.     All code in this file, and its associated header file was
  27.     Created by George (ty) Tempel in connection with the TopSoft, Inc.
  28.     "FilterTop" application development, except where noted.
  29.  
  30. CARETAKER - George (ty) Tempel <ttempel@monmouth.com>
  31.      Please consult this person for any changes or suggestions to this file.
  32.  
  33. MODIFICATION HISTORY
  34.  
  35.     dd mmm yy    -    xxx    -    patchxx: description of patch
  36.     9 June 94    -    ty    -    Initial Version Created
  37.     20-july-94    -    ty    -    initial version released
  38.     23-may-95    -    ty    -    changes for compatibility with the CodeWarrior CW6
  39.                             release and the associated Universal Headers from Apple:
  40.                             most methods that returned references now have "Ref" at
  41.                             the end of their methods names to prevent possible collisions
  42.                             with datatypes and classes of the same name (older versions
  43.                             of the compiler didn't have a problem with this).
  44.     25-oct-95    -    ty    -    changes for "const" usage under CW7; simplification of Boolean
  45.                             query methods
  46.  
  47. */
  48.  
  49. /*===========================================================================*/
  50.  
  51. /*========== Exclusion Macros ============*/
  52.  
  53. #pragma    once
  54.  
  55. #ifndef    _ABUEnvQuickTime_
  56. #define    _ABUEnvQuickTime_
  57.  
  58.  
  59. /*============ Header Files ==============*/
  60.  
  61. #include    "ABUEnv.h"
  62.  
  63. //    Includes for QuickTime support
  64. #ifndef __COMPONENTS__
  65. #include <Components.h>
  66. #endif
  67.  
  68. #ifndef __IMAGECODEC__
  69. #include <ImageCodec.h>                        
  70. #endif
  71.  
  72. #ifndef __IMAGECOMPRESSION__
  73. #include <ImageCompression.h>                
  74. #endif
  75.  
  76. #ifndef __MOVIES__
  77. #include <Movies.h>
  78. #endif
  79.  
  80. #ifndef __MOVIESFORMAT__
  81. #include <MoviesFormat.h>                    
  82. #endif
  83.  
  84. #ifndef __QUICKTIMECOMPONENTS__
  85. #include <QuickTimeComponents.h>
  86. #endif
  87.  
  88. /*=========== External Linkage ===========*/
  89.  
  90. /*================ Macros ================*/
  91.  
  92. /*============== Constants ===============*/
  93.  
  94. #define        kABserviceAllMovies                ((long)0)
  95. #define        kABstopMovieController            ((void *)0)
  96. #define        kABdefaultMovieResID            ((short)5000)
  97.  
  98. /*================ Enums =================*/
  99.  
  100. /*=============== Structs ================*/
  101.  
  102. /*=============== Typedefs ===============*/
  103.  
  104.  
  105. /*=========== Class Definitions ==========*/
  106.  
  107. class    ABUEnvQuickTime : ABUEnv
  108. {
  109.     public:
  110.                         ABUEnvQuickTime(void);
  111.         virtual            ~ABUEnvQuickTime(void);
  112.     
  113.         virtual    Boolean    IsPresent(void);
  114.         virtual    Boolean    Feature(long mask);
  115.         
  116.         virtual    OSErr    Initialize(void);
  117.         virtual    OSErr    Close(void);
  118.         virtual    void    CleanUp(void);
  119.         virtual    OSErr    Begin(void);
  120.         virtual    OSErr    End(void);
  121.  
  122.                 Boolean    HasMovie(void) const { return this->MovieRef() != NULL; }
  123.                 
  124.                 Boolean HasController(void) const { return this->MovieControllerRef() != NULL; }
  125.                 
  126.     protected:
  127.         //    instance specific information...
  128.                 Movie                mMovie;            //    the quicktime movie
  129.                 MovieController        mController;    //    the quicktime movie controller
  130.                 
  131.                 Movie& MovieRef(void)     { return this->mMovie; }
  132.                 Movie const& MovieRef(void) const { return this->mMovie; }
  133.  
  134.                 MovieController& MovieControllerRef(void)  { return this->mController; }
  135.                 MovieController const& MovieControllerRef(void) const { return this->mController; }
  136.  
  137.     private:
  138.         //    class-wide information:
  139.         
  140. };
  141.  
  142.  
  143. /*========== Function Prototypes =========*/
  144.  
  145.  
  146. #endif    // _ABUEnvQuickTime_
  147.  
  148.